package util

import "strings"

func GetParams(s string, names []string) map[string]string {
	// 分割字符串为键值对
	pairs := strings.Split(s, "&")
	params := make(map[string]string)

	// 遍历每个键值对
	for _, pair := range pairs {
		kv := strings.Split(pair, "=")
		if len(kv) == 2 {
			// 如果键存在于需要获取的键中,则获取其值
			if stringInSlice(kv[0], names) {
				params[kv[0]] = kv[1]
			}
		}
	}
	return params
}

func stringInSlice(str string, slice []string) bool {
	for _, s := range slice {
		if s == str {
			return true
		}
	}
	return false
}